﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ТООшибкиТСД
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
	///<summary>
	///Необходимо убедиться, что устройство подключено и корректно настроено.
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"715caad1-79fc-43ca-ab0f-c5711de822e9\", \"Представление\":\"ОшибкаЗагрузкиСтроки\"}")]
		ОшибкаЗагрузкиСтроки = 0,//Ошибка загрузки строки
	///<summary>
	///Память терминала сбора данных содержит позиции, для которых нет соответствия в информационной базе. Проверьте настройки формата терминала сбора данных и номера таблиц.
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"cd5e5baf-2960-4b2c-a55b-9a6e9d36be12\", \"Представление\":\"ОшибкаНеизвестныйТовар\"}")]
		ОшибкаНеизвестныйТовар = 1,//Загружен штрихкод неизвестного товара
	///<summary>
	///Данная ошибка возникает при попытке прочитать запись из пустой таблицы терминала.
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"42c9b0bd-7d3c-42a7-b08c-444ee94bb982\", \"Представление\":\"ОшибкаНетЗаписей\"}")]
		ОшибкаНетЗаписей = 2,//В таблице терминала нет данных
	}
	public static partial class ТООшибкиТСД_Значения//:ПеречислениеСсылка
	{
		///<summary>
		///Необходимо убедиться, что устройство подключено и корректно настроено.
		///</summary>
		public static readonly Guid ОшибкаЗагрузкиСтроки = new Guid("71c50fab-e81d-e922-43ca-79fc715caad1");//Ошибка загрузки строки
		///<summary>
		///Память терминала сбора данных содержит позиции, для которых нет соответствия в информационной базе. Проверьте настройки формата терминала сбора данных и номера таблиц.
		///</summary>
		public static readonly Guid ОшибкаНеизвестныйТовар = new Guid("6e9a5ba5-369d-12be-4b2c-2960cd5e5baf");//Загружен штрихкод неизвестного товара
		///<summary>
		///Данная ошибка возникает при попытке прочитать запись из пустой таблицы терминала.
		///</summary>
		public static readonly Guid ОшибкаНетЗаписей = new Guid("4e448cb0-4be9-82b9-42a7-7d3c42c9b0bd");//В таблице терминала нет данных
		public static ТООшибкиТСД Получить(this ТООшибкиТСД Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ТООшибкиТСД Получить(this ТООшибкиТСД Значение, Guid Ссылка)
		{
			if(Ссылка == ОшибкаЗагрузкиСтроки)
			{
				return ТООшибкиТСД.ОшибкаЗагрузкиСтроки;
			}
			else if(Ссылка == ОшибкаНеизвестныйТовар)
			{
				return ТООшибкиТСД.ОшибкаНеизвестныйТовар;
			}
			else if(Ссылка == ОшибкаНетЗаписей)
			{
				return ТООшибкиТСД.ОшибкаНетЗаписей;
			}
			return ТООшибкиТСД.ПустаяСсылка;
		}
		public static byte[] Ключ(this ТООшибкиТСД Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ТООшибкиТСД Значение)
		{
			switch (Значение)
			{
				case ТООшибкиТСД.ОшибкаЗагрузкиСтроки: return ОшибкаЗагрузкиСтроки;
				case ТООшибкиТСД.ОшибкаНеизвестныйТовар: return ОшибкаНеизвестныйТовар;
				case ТООшибкиТСД.ОшибкаНетЗаписей: return ОшибкаНетЗаписей;
			}
			return Guid.Empty;
		}
	}
}